package com.lu.pojo.container;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * @author luzhenfang
 * @date 2020 07 04
 * @description HashMap
 *  - key:value
 *      - key 不可重复
 *      - 无序
 *
 */
public class TestHashMap {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1, "张三");
        map.put(2, "李四");
        map.put(3, "王五");
        System.out.println(map);
        // 通过 key 取 value
        System.out.println(map.get(1));
        // map 中是否包含这个 key
        System.out.println(map.containsKey(6));
        // map 里是否有这个  value
        System.out.println(map.containsValue("张三"));
        System.out.println(map.containsValue("赵六"));
        // 获取 key视图
        System.out.println(map.keySet());
        // 获取 value 视图
        System.out.println(map.values());
        // 获取 包含映射关系视图
        System.out.println(map.entrySet());



        // 遍历 map
        // 方式一遍历 key 取 value
        Iterator<Integer> iterator = map.keySet().iterator();
        while (iterator.hasNext()){
            System.out.println(map.get(iterator.next()));
        }
        // 方式二 取出所有集合进行遍历
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        Iterator iter1 = entries.iterator();
        while (iter1.hasNext()) {
            Map.Entry<Integer,String > obj = (Map.Entry<Integer, String>) iter1.next();
            System.out.println(obj.getKey()+":"+obj.getValue());
       }


    }
}
